{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "44a14b47-dab2-4f69-bd47-8a0d310ce252",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0     2019-01-01\n",
      "1     2019-01-02\n",
      "2     2019-01-03\n",
      "3     2019-01-04\n",
      "4     2019-01-05\n",
      "         ...    \n",
      "360   2019-12-27\n",
      "361   2019-12-28\n",
      "362   2019-12-29\n",
      "363   2019-12-30\n",
      "364   2019-12-31\n",
      "Name: 日期, Length: 365, dtype: datetime64[ns]\n",
      "0       1\n",
      "1       1\n",
      "2       1\n",
      "3       1\n",
      "4       1\n",
      "       ..\n",
      "360    12\n",
      "361    12\n",
      "362    12\n",
      "363    12\n",
      "364    12\n",
      "Name: 日期, Length: 365, dtype: int32\n",
      "             日期  质量等级  PM$\\mathrm{_{2.5}}$  月份\n",
      "0      2019/1/1     良                   46   1\n",
      "1      2019/1/2     良                   75   1\n",
      "2      2019/1/3     良                   73   1\n",
      "3      2019/1/4     良                   45   1\n",
      "4      2019/1/5  中度污染                  141   1\n",
      "..          ...   ...                  ...  ..\n",
      "360  2019/12/27  轻度污染                   93  12\n",
      "361  2019/12/28     良                   72  12\n",
      "362  2019/12/29     良                   70  12\n",
      "363  2019/12/30  轻度污染                   92  12\n",
      "364  2019/12/31  中度污染                  118  12\n",
      "\n",
      "[365 rows x 4 columns]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Font 'default' does not have a glyph for '\\xb5' [U+b5], substituting with a dummy symbol.\n",
      "Font 'default' does not have a glyph for '\\xb5' [U+b5], substituting with a dummy symbol.\n"
     ]
    },
    {
     "data": {
      "image/png": "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ioqK0po1a/TAAw8U2C/AbrfLZrMpKytLQUFBxgl1QTW4ysW2cbFjeaFjx46pRYsW+W7PbrfrP//5T67pycnJmj9/vqR/T6Q/+ugj7d27Vy+//LLTso8++qj69eunTZs2qVevXnlu58SJExo/fryxroyMDI0fP14jRozIdfU6L6+++qr8/PzyDC12u10VK1bUgQMH8t1HSVq9erU2btyooKAg+fn5GR1vR48ebazX4XAoMzNTkyZN0uDBg2WxWBQUFKSJEyfq3LlzBdY4bNgwNWrUSHa7XVar1QgcXbp00datWxUREeHUnj9nufP3PysrS+XLl3c6aU9LS9Pw4cNVt25dPffcczpy5IiSk5ON78n5beRjYmLk5+eXq3lKYGCg6tat6xR07733XgUEBGjlypUKCwvThg0bjJptNptatGhRYJ+IwMBA1a9fX4cOHVLDhg1Vt25dWSwWxcbGqm3bttq3b5/atGlT4DG7VJUqVVKvXr00ZcoUNWzYMM9mOR9//LF++eUXvfbaa04hQJLxM5ayj93atWs1ZMgQVa9eXbVr19bixYudPpORkaFPPvnEOC779+93Ck+S9MMPP+ihhx5y+vfommuukd1u19mzZ7Vz584iB2EA/yIIAGVMhQoVcrXb3rJli6pUqaLLLrtMn3/+uSQpPDzcaZnatWsrISFBV111lYYOHSqTyZRnu2ez2ZzraSw5V/Fq1aolKftktm/fvqpevbpat26t8PBwpyvmDodDdrtdzZs3d3pyzLvvvqv27dtLUoE1uMrFtnGxY3mhmjVrXrSPQF6eeuopVapUyTiuiYmJioqK0tChQ52ueErZP7eHHnpIM2bMUJMmTdSkSROn+SkpKRo5cqQaNWpkXEUNCAiQv7+/7rvvPi1evPiidxOaNm1a4HxJ+QaBnBO9J598UnPnzjWm5zQN+uijj/JsGrRv3z716dNHgYGBKl++fKGag6WlpSk1NVW9evXSrFmzjOkdO3bUX3/95fSdW7t2rebOnatt27blWW+O0NBQPfLII6pataosFoueeeYZvfrqq8aJZmZmphFSvvrqK509e1YtWrRQaGiofvnllzw7E+c4efKkPvroI02dOtWpiVhOX4eCgkDO588PkuHh4cZVdT8/P+NOQUkaP368fvvtN40dO1YbNmxwmnfgwAE9/fTTuvvuu9W1a9dcn/3ll18U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0JOZmSm73a6iXOMnCAAAAMDjVKlSRaNHj9a2bdskSRaLRevWrdPUqVNlMuU+hf3iiy8UFhamXr16GUGhR48euu666/T3338by3lKYxi73a5169apa9eul7Ses2fPqk+fPrrhhhs0bNgwValSpdCfpWkQAAAAPMp///tfrVq1ymma3W5XSkqKKlWqJEkaPXq07rvvPmN+37591bp1a02cOFFXX321QkND5efnl2vdlStX1ubNm0t2Bwrho48+kt1uV9++fV2yvpMnT2rMmDFasGCBqlWrVqjP0FkYAAAAHsViseiee+7Ro48+KkkaO3asrrvuOvXv31+S9OSTTyojI8NY/ptvvtHu3bvVpUsXhYaGateuXbnWee7cOYWEhFxSXUlJSZo3b56mTp2qwMBAp3pnzZqlxx9/vFBX5K1WqzZt2qSFCxca0+699141bdpUJpNJ69evV0BAgB5//HHddtttioqK0meffaaqVatq2rRpuuGGG3Kts1q1agoPD9f27dt1yy23FGp/aBoEAAAAj2IymbR8+XJ1795d3bt31zfffKO5c+ca78+/op+Zmannn39edevWNabt2LFDU6dOdVrnzTffrDfeeOOS6qpUqZJOnDihUaNGaciQIbrqqqs0ePBgjR49WkePHlXFihW1Z88e9e7dW9dcc41mz56tnj176p133nFaz7p163T77bfLbDbnmh4WFqYPPvhA99xzj55++mk9/vjjuuqqq7Ru3Tp16dJFEyZMUHp6uqTsuwCpqamSsp8gFB0drcsvv7zQ+0MQAAAAgEfx8/PT/fffr6+//lpff/21unXrpokTJxrvb775ZmPZzZs3KzAwUH369DGm1axZU+vWrdOJEyckZV/JP378uDp37nxJdZnNZs2dO1c///yz7rjjDuP/P/74o2bPni1/f389/fTTuu2227R8+XKtWbNGs2fPdqrNYrHo66+/Vs+ePXOtv1mzZho1apQuu+wyjRgxQuXKlVNYWJgGDhyoyy67TKNHj9bp06cVGxsrKfspSkOGDFGfPn00ePBgDRkyRM2aNSv0/hAEAAAA4FFsNluhl+3du7defvllp6vrtWvXVps2bfT5559LkmJiYlSjRo08T5I/+OADhYeH64MPPijU9n744Qd16dJF/fr1U1BQkAYMGKDrr79eP/30kyRp9+7duummm9SsWTM1btxYhw8fNvo1SNL777+vO++8M8/+C+Hh4cZrs9msypUrq2nTpsa0nLb/p06dkiRdeeWV2rBhgz766CN9/PHHuvvuuwu1DznoIwAAAACPUqFCBa1bt04fffSRpOwmMNu2bdPixYuNZdq2bSspuxlRgwYNcq2jR48e+u677zRkyBDFxMTo2muvzXdbl19+uSpUqFCo2g4dOqRGjRo5Tbviiiv0zz//SJIaNGigHTt2KCwsTAcOHHAa8yAjI0M///yzU9+A8/n7O5+a+/n5OU3LCQ+uetYPQQAAAAAeweFwyGazadSoURo1apQx/cLOwjnLZmZmKigoKM91dezYUa+88oosFouio6Odmuecr2fPnnk208lPgwYNtGbNGqdpe/fu1YABAyRJTZo00cyZMzVt2rRcTXVWrFihIUOGFHpbJY0gAAAAAI9w7NgxdevWTWaz2anpjNVq1eeff66nnnrKmGaz2WSz2fTHH384hQG73S6TyaTmzZtr7ty5slgs+u233zRz5kxjGYfDYaz/s88+07x58/TEE08UKhBce+21Gj9+vN577z3dfvvt2rhxo3788UfNnTtXiYmJ2r59u9577z1VqFBBtWvXNj6XmpqqP/74Q8OGDbukY+RKBAEAAAB4hFq1amn37t25pj/22GO64YYbjKvuOc4/obdarbLb7XrppZf0xhtvOAUJm82mm266SVJ2UFi+fLmuueYaSVJKSor279+vlJSUi9ZnsVgUGRmpG264QZ9//rlefPFFXXnllerevbsiIyP12muvqVq1arr33nuVkpIif39/9e3bV88884yWL1/uNO6BJ2BAMQAAAHi0YcOGqUePHho8eHC+y0RFRclsNmvChAkymUx5jj4sZYcCPz+/fOcX5PTp03r55Zc1adIkBQQEGNOtVqvmzJmjOnXq6Mcff9TMmTNVrlw57dmzRw8//LB++uknHTlyRE2aNCnyNksSQQAAAABwgcTERE2dOlV//vmnMjMzVbduXd13330e1S/gfAQBAAAAwAcxjgAAAADggwgCAAAAgA8iCAAAAAA+iCAAAAAA+CCfHUfAbrfLarXKZDI5PWcWAAAAKKscDofsdrv8/f0v+ohUnw0CVqtVMTEx7i4DAAAAcLlWrVopMDCwwGV8NgjkJKRWrVrJbDa7uRoAAADg0tlsNsXExBRqwDSfDQI5zYHMZjNBAAAAAF6lME3f6SwMAAAA+CCCAAAAAOCDCAIAAACAD/LZPgKFYbfbZbFY3F0G4LMCAwML1dkJAAAUHUEgHxaLRfv375fdbnd3KYDPMplMuvzyyy/6+DMAAFB0BIE8OBwOHTlyRGazWfXr1+eKJOAGdrtd//zzj44cOaIGDRow8B8AAC5GEMiD1WrVuXPnVKdOHYWEhLi7HMBnVa9eXf/884+sVqsCAgLcXQ4AAF7FIy51f/nll+rRo4datGihO++8U/Hx8ZKkuLg4DRgwQB06dNDcuXPlcDiMzxQ071LZbDZJojkC4GY5v4M5v5MAAMB13B4EDh48qMmTJysyMlJbtmxRnTp1NGXKFFksFo0cOVItW7bUhx9+qPj4eK1du1aSCpznSjRFANyL30EAAEqO25sGxcfHa+zYserVq5ckafDgwRo2bJi2bNmi1NRUTZo0ScHBwRo3bpxmzJihAQMGFDivqPK60miz2eRwOIz/AG+1b98+nTlzRldddVWpbfPUqVOqUqVKoU7yc34HbTYbdwUAACiEovy9dHsQ6Natm9P7/fv3q2HDhtqzZ4/atGmj4OBgSVJ4eLjRZKigeUUVExOT53R/f3+lp6c7PTXIz8+vVK9QFjeIfPbZZ2rSpIkaNWokSdq4caOaNGmipk2bKjk5WWFhYa4u1auUlZ/zhSIjI1WvXj2NHTu20J/58ssvtXbt2gLvqO3bt08xMTG6/fbbJUmZmZkKCAhw6kRvt9uVlZWloKAgY9rRo0c1Y8YMde7cWX379lX58uUlSX369NHChQvVtGnTi9aXmZmprKws7dmzp9D7BAAACsftQeB8FotFy5Yt0wMPPKDExETVq1fPmOfn5yeTyaQzZ84oNTU133mVKlUq0jZbtWols9nsNC0jI0MJCQkKDg5WuXLljOl2h0PmUnyCkM1ul6kYJ6Tz58/XsGHD1KpVK0nSp59+KrPZrJCQED344IPasGGDqlat6upyvYfdLr8LvhMlyWGzSS74XgUGBqpcuXL5dnDfsWOHRo0a5fSdttlsSklJUe/evSVln9Cnp6dr/vz56tixo6Ts38t58+bp4MGDmjhxorp06SKTySR/f3+n9WRmZurHH39UhQoVZLPZZLVatXDhQq1fv15hYWF66KGHtH//fiUlJWn8+PGy2+1q3bq15s2bl+8+mUwmBQQEqHHjxk51AwCAvNlstnwvdF/Io4LAvHnzFBISooEDB2revHm5OusGBQUpIyNDZrM533lFDQJmszlXEDCbzcZV4fOvDJv9/DR15ffaf/xMEfes6C6vUUkz776uyJ/bsmWLMjIyNGjQIKN2f39/hYSEKDw8XN27d9fKlSv12GOPubpk72E2a3dUlM4lJJT4pkIaNlTzadNcsq6AgAAFBATkezfDZDIpLCxMmzZtkiR9++23at68uWrWrCkp+85RmzZtnEK2JP3nP//Re++9Z9w1+P333y9aS0JCgkaMGKErr7xSU6ZMUWBgoN555x3t3btXQ4cO1VdffaUNGzbohx9+KPDuS87vYF6/pwAA4NJ4TBD48ccftWrVKq1evVoBAQGqVKmS9u7d67RMWlraReeVtP3Hz2jP4aQS305xLVu2TB07dnRqouHn52ccm8mTJ3NltRDOJSQoNW7vxRd0k48//liTJk1S7dq1jWknT55UQECAPvnkE2PawYMH9cknn6hJkyaSsr8LFotFJpNJCxYsUGRkpBEE3nzzTT3xxBOqUaOGccXfbrdrx44dateuncaPH6+srKx8n6Z1fvOgRo0aafPmzVq+fLl++OEH3XjjjapcubKWLl1q3H1ITU1VlSpVlJWVpdTUVJqsAQBQyjwiCCQmJmr8+PF6+umn1bhxY0nZTXbWrFljLHPo0CFZLBZVqlSpwHm+bNu2bfrpp5/Uq1cvPfroo/rrr79kMpl04sQJ/fXXX5o7d66k7Dbpl112mV5//XU3V4ziCgwMVKNGjbRhwwZj2vjx49WwYUM9+uijxrTw8HCjCY/D4ZC/v79efPFFbd26VYmJiZo+fbrRlCghIUEzZsxQUFCQJk+erE6dOikuLk7Dhw/X8OHD1bt3b916660KDAxUenq6TCaT0U9H+rd50LZt2xQSEiKTyaSUlBStWbNGHTt21PLly/Xrr7/qww8/lJQd3m02m2JjYzVkyBBt376dR/YCAFCK3B4EMjIyNGLECEVERKhHjx5KS0uTJLVv314pKSlav369+vbtqyVLlqhTp04ym83q0KFDvvN8lcViUVRUlNq3by9JeuGFF4wOnbfccoumTZumoUOH6o8//lBgYKAsFoubK8alKMp3PadTb2ZmpgIDAzVp0iRJ0h133KH77rtPbdq0kSQ9/vjjmjhxoq699lrjs82aNdM777yjSZMm6a677tLOnTslSQ8++KA6deqkYcOG5bnN5ORk3XfffapTp44WL16sRx99VP7+/lq8eLEqVqwoSWrbtq3mzJmjrVu36u677yYEAABQytweBH744QfFx8crPj5eq1evNqZ/9dVXioqKUmRkpJ577jnZbDatWLFCUnab9/zm+apPPvlENWvW1K233qrvv//eaBpkt9t16NAh1alTx1jWz8/PqekQyp7iPGUoPT3dqflN9+7dFR0drejoaElS69at8+xE3qJFC61bt87pKUG7du3S0KFD891WWFiYxo8fr+uvv15+fn6KiopS8+bN1blzZ61cuVKNGjXS1VdfXSLjfwAAgMJxexCIiIhQbGxsnvPq1aunzz//XDExMWrXrp2qVKni9Ln85vmivn37qmvXrvr222+dpu/fv18Oh8MpCKDss9vtio+PV/fu3Y1pycnJMpvNWrdundOyOc8TPnHihGrUqKFvvvlGM2fOlJ+fn0JCQozOullZWTp06JBee+21XP1tXnzxRYWHh6tPnz46ePCgpOymSOfXc/bsWf36668qX768XnvtNb3zzjtOV/nT0tJ05swZDR482Gg6lLPdLl26aPbs2S48QgAAeI/ExEQtWLBAkjRmzBjVr1/fJet1exC4mJo1axqdGYsyz9eYTKY8w9CXX36pq666imYXXqZChQq6/fbbNWvWLGNaXn0E7r33XuOkPiEhQbVq1VK3bt3UrVs3zZw5U6GhoRo7dqxOnz6tQYMGadSoUblCgMPh0IYNG4wT/wYNGmjbtm1Oy0RHR2vkyJHGWAEjRozQiBEjjPkLFy7Uxx9/LJvNptatW8tkMmnhwoWl0sEfAICybuHChcYd/EWLFrns4lnpPRQfpc5qtWrDhg25Bm2T5DRQGsqeTp06OYWA/LzzzjvGVYOff/7Z6A8gZQ9A9uOPPxrjTjzwwANGH5PzRUdH6/Tp03l+j3KcPHlS1atXzzU9KSlJEyZM0IYNG7R06VIFBgbqySefVGZmpgYNGmT8owYAAPKXczdeyr6w5yoef0fA01xeo3SeTOSK7axYsUInT57UnXfemWvewIEDNXPmTDVr1uySt+ONQho2LHPbsdvt+Qa83bt3KyEhQR06dDCW3bt3r5o0aaJXX31VVatWldVqVUxMjGrVqqUqVaoYHZJXr16t9u3bF/hUrsTERKe7c9HR0frss8+0du1adevWTatXr1blypXlcDgUGBioJUuWaP78+XrwwQdVu3Zt9ezZs0gjIgMAgEtHECgCm91erEG+LmV7RR3JOOdkcPPmzXrhhRc0YcIEVahQQZIUGhqqhQsXymq16u+//1atWrVKouwyz2GzuWyQr8JuzxUjGaelpSkjIyPPeSdOnNDw4cN17NgxoylQ06ZN1bNnT02ZMkWxsbH6+uuvNWvWLMXGxqphw4Zau3atHA6H9u/fr1tvvTXP9S5atEhbtmzR7t27NXLkSGN6cnKyDh06pGXLlqlt27bGdKvVaow1MGHCBA0fPlwbN25Uw1IKXgAA4F9+juI8fsQL2Gw27dixQ23bts31KMaMjAzt379fl19+eZkbfOu9997Td999p86dOysuLk5RUVHGvB9++EE7duyQJHXs2DHPZiDwfidOnMizGU8Oh8Ohc+fOKTQ01HifkZHhNGZAjr/++ku///67WrRooauuusrltZbl30UAAFzl7rvv1rFjxyRl95FduXJlvssWdI57Ie4IeJnBgwdr8ODBec7r0qWLunTpUsoVwdMUFAKk7MfL5oSAnPd5hQAp+9GiLVq0cGl9AACgdNBZGAAAAPBBBAEAAADABxEEAAAAAB9EEAAAAAB8EEEAAAAA8EEEAS/30ksv6aeffnJ3GfBQ+/bt0++//16q2zx16pR89KnFAAB4FIKAD/joo4/cXQJKSWpqquLi4vTZZ59pyZIlFz3h3rJliyZPnlzgMvHx8frwww+N95mZmblGMLbb7crMzHSaduTIEQ0dOlRvvfWWUlNTjel9+vRRbGxsYXcJAACUEMYRKAKH3SY/06WPAFuS2/vll1/05JNPGu8zMjIUEBCg7t27G9M2btyY73PhIdntDplMfh69PYfDoccff1z//POPMjIyZLFYlJSUpKCgIF122WWqWrWqqlWrpn379qlRo0aSpB07duiRRx5x+tlbrValpKQY3w+bzab09HS9/PLL6tixoyTp9OnTmjt3rv7++29NnDhRHTt2lMlkkr//v/982Gw2ZWZmauvWrapQoYJsNptSUlL0yiuvaP369QoKCtK9996r/fv369SpUxo9erTsdrtat26t+fPnX+ohBAAAxUAQKAI/k1kn1z6prJP7SnxbAdWuULX+c4r8OZvNpmrVqmn16tW55mVmZqp169YKCAhwRYley2Ty0+fv/qbkY6kX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SQoJCZGfn5+bq3OdK664QqNHj9Zll12m66+/XvPmzVPnzp29ps1qjpUrV8pqtRrvn3vuObVp00b9+vVzY1Wu17x5c82bN0/Vq1eX1WpVVFSU+vXrZ3TU8xZdu3bVzJkz9d5776lbt276/PPPtXv3br300kvuLq3EfP/99+rfv7+7yygR7dq10+TJk/XWW2+patWq+uCDD1StWjWFh4e7u7QS8c477+iKK65QRESEu0spcR06dFBKSorWr1+vvn37asmSJerUqZPXByBv5ennRgQBuMwPP/yg+Ph4xcfHa/Xq1cb0r776yqs66tWsWVPz58/X7NmzNXfuXHXp0kXPP/+8u8tyuVq1ajm9DwkJUVhYmKpUqeKmikpG3759FR8fr1GjRik0NFQREREaN26cu8tyucqVK+v111/XnDlzNGfOHFWrVk3//e9/vep383wZGRnauXOnnnnmGXeXUiJ69eql/fv3a/ny5Tpx4oSaNGmiV155xSvvfpw9e1ZvvPGGli5d6u5SSoW/v7+ioqIUGRmp5557TjabTStWrHB3WSgmTz838nN4W88iAACAMu7YsWOKiYlRu3btvO4CDDwHQQAAAADwQd7VuxEAAABAoRAEAAAAAB9EEAAAAAB8EEEAAAAA8EEEAQBAqfrjjz907ty5XNOtVmuuQc8AACWHpwYBAIqtefPmuuyyy/Ic7OjQoUN65pln1KdPH6fpN954o4YNG6ZBgwZp3759+v7773X//fdr1KhRioiI8NpBwADA0zCgGACg2Pz9/fXuu+/m+Zzze++9V+XLl3ea9ssvvygrK8s42f/888+1Y8cO3X///erWrZu2bNlCEACAUkLTIABAsQUGBhY439/f+XrT4sWLdc899yggIEB2u11r167V3XffLUmKiIjQd999p+PHj5dYvQCAfxEEAADF5ufnV+hlf/jhB23dulW1a9eWJK1fv17ly5fX9ddfL0kKCwvTXXfdpf/+978lUisAwBlNgwAAl2TIkCH59hHIkZqaqqefflqVK1eWJP3zzz+aM2eOFi9e7PSZ0aNH65ZbbtFnn32mnj17lmjdAODrCAIAgGKzWq0F9hHI8emnn6pDhw46c+aMkpKSNHToUNWrV0/Dhw9XQECA0+eaN2+uyZMnq127dqpRo0aJ7wMA+CqaBgEAisVqtSo9Pb1Qy95555165plnJEkVK1bUgw8+qPfff18rV65UpUqVtG3bNm3btk2dOnXSrbfeqo8++ogQAAAljDsCAIBiOX36tCTpjjvuyHP+iRMnnN7nXPn39/fXoEGDJElnz55VtWrVjGWsVqtCQkJUr169EqgYAHA+ggAAoFh27dql2rVr6+uvv85z/vlNg/Lz66+/6sorrzTeZ2ZmKigoyGU1AgDyR9MgAECxfPTRR+rSpUuRPnP+GJYZGRlav369brzxRmNaamqqQkNDXVYjACB/3BEAABTZrl27tHnzZq1ZsybXvIMHDyo9PV1HjhzJNc5AVlaWrFarUlNTNXbsWLVo0UIdOnRQQkKCjhw5or1799I3AABKCUEAAFAkdrtdTz/9tO699141a9Ys1/yVK1dqxYoVuvLKK9WyZUuneTlB4P3335fZbNacOXMkSd9++61WrVqlQYMGqVGjRqWyHwDg6/wc59+nBQCgEDIzMxUQECCTKXcLU6vVKrPZfNHBxux2e56fBwCUDoIAAAAA4IO4FAMAAAD4IIIAAAAA4IMIAgAAAIAPIggAAAAAPoggAAAAAPggggAAAADggwgCAAAAgA8iCAAAAAA+6P8Bav4A8EMnF+YAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 900x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "#导入数据\n",
    "df = pd.read_csv('Weatherquality.csv',encoding='GBK')\n",
    "#数据处理\n",
    "df1 = df.iloc[0:,[0,2,3]]\n",
    "df_dt = pd.to_datetime(df1.日期,format=\"%Y/%m/%d\")\n",
    "s_M = df_dt.dt.month\n",
    "print(df_dt)\n",
    "print(s_M)\n",
    "df1['月份'] = s_M\n",
    "print(df1)\n",
    "\n",
    "#设置Seaborn样式\n",
    "sns.set_style(\"whitegrid\")\n",
    "#设置正常显示中文和负号\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']  # 用黑体显示中文\n",
    "plt.rcParams['axes.unicode_minus'] = False    # 正常显示负号\n",
    "\n",
    "#创建一个绘图对象\n",
    "plt.figure(figsize=(9, 6),dpi=100)\n",
    "#绘图\n",
    "sns.barplot(x='月份',y='PM$\\mathrm{_{2.5}}$',hue='质量等级',data=df1,\n",
    "            hue_order=['优','良','轻度污染','中度污染','重度污染'])\n",
    "#添加主标题、副标题\n",
    "plt.suptitle(\"2019年1—12月份不同质量等级的PM$\\mathrm{_{2.5}}$平均值\")\n",
    "plt.title(\"单位：µg/$\\mathrm{m^3}$\",fontsize=10,loc='right')\n",
    "# 设置图例\n",
    "plt.legend(loc = 'upper left', ncol = 2)\n",
    "plt.savefig('task5-6.png')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7df7eccf-fd88-4093-b72e-339ae8bfc422",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "da6d4cf8-999d-421a-af41-65763d0ade9d",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "81.61\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'C:\\\\Users\\\\DELL\\\\Jupyter-HOT\\\\draw\\\\task6-22.html'"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pyecharts import options as opts\n",
    "from pyecharts.charts import Gauge\n",
    "import pandas as pd\n",
    "import xlrd\n",
    "\n",
    "#导入数据\n",
    "df = pd.read_excel('学员学习情况列表.xls',header=1)\n",
    "\n",
    "#获取数据\n",
    "df1 = df['学习进度']\n",
    "df2 = df[df['学习进度']>=60]\n",
    "#计算学习进度合格的学员比例\n",
    "ratio1 = round(len(df2)/len(df1),4)*100\n",
    "print(ratio1)\n",
    "\n",
    "#绘制仪表盘\n",
    "(\n",
    "    Gauge(init_opts=opts.InitOpts(width=\"800px\", height=\"600px\"))\n",
    "    .add(series_name=\"学习进度\",\n",
    "         data_pair=[[\"合格率\", ratio1]],\n",
    "         #仪表盘数据标签配置\n",
    "         title_label_opts= opts.GaugeTitleOpts(offset_center=[0,50],\n",
    "                                               color='blue',\n",
    "                                               font_size=20,\n",
    "                                               font_weight='bold')\n",
    "     )\n",
    "     .set_global_opts(\n",
    "         legend_opts=opts.LegendOpts(is_show=False),\n",
    "         title_opts=opts.TitleOpts(title=\"学习进度合格率仪表盘\",\n",
    "                                   pos_left='center'),\n",
    "         tooltip_opts=opts.TooltipOpts(formatter=\"{a} <br/>{b} ： {c}%\"),\n",
    "     )\n",
    "     .render(\"task6-22.html\")\n",
    ")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "72476cd1-731d-4138-8daf-6a0bb98f20cd",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
